﻿/************************************************************************
** 文  件：
**	JsonUtil.h
** 功  能：
**	json处理工具类：提供json的解析与转化
** 作  者：
**	email:lixx2048@163.com
**  wechat:lixiang6153
**  QQ:941415509
** 日  期：
**	2024/03/15	14:00:00
** 说  明：
**	无
** 版  本：
**	2024/03/15	14:00:00		1.0		lixx2048@163.com
/************************************************************************/
#pragma once
#include <string>
#include <set>
#include <vector>
#include <sstream>
#include <boost/typeof/typeof.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/json_parser.hpp>
#include <boost/foreach.hpp>

class JsonUtil
{
public:
	bool Parse(std::string body);

public:
	std::string GetString(std::string path, std::string v);
	int GetInt(std::string path, int v);
	float GetFloat(std::string path, float v);
	bool GetBoolean(std::string path, bool v);
	bool HasNode(std::string path);

protected:
	std::string& ReplaceAll(std::string& str, const std::string& old, const std::string& value);
	std::string ReplaceUTF8(std::string strHttpBody);

protected:
	boost::property_tree::ptree m_root;
};